package com.yonyougov.devops.cruxcisupport.versioninfo;

import com.yonyougov.devops.cruxcisupport.util.CruxDevOpsIdGenerator;
import com.yonyougov.devops.fwc.core.entity.BasicEntity;
import com.yonyougov.devops.fwc.core.id.IdGenerator;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigInteger;
import java.util.Date;

/***
 * t_version_info
 */
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class VersionInfoEntity extends BasicEntity implements Serializable {

    /***
     * 主键
     */
    private BigInteger id;

    /***
     * 创建日期
     */
    private Date createTime;

    /***
     * 描述类型
     */
    private String type;

    /***
     * 版本id
     */
    private BigInteger versionId;

    /***
     * 版本描述
     */
    private String versionDesc;

    /**
     * 提测单id
     */
    private BigInteger commitTestId;

    public BigInteger getCommitTestId() {
        return commitTestId;
    }

    public void setCommitTestId(BigInteger commitTestId) {
        this.commitTestId = commitTestId;
    }

    /***
     * 获取主键
     *
     * @return 获取主键
     */
    public BigInteger getId() {
        return id;
    }

    /***
     * 设置主键
     *
     * @param id 主键
     */
    public void setId(BigInteger id) {
        this.id = id;
    }

    /***
     * 获取创建日期
     *
     * @return 获取创建日期
     */
    public Date getCreateTime() {
        return createTime;
    }

    /***
     * 设置创建日期
     *
     * @param createTime 创建日期
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /***
     * 获取描述类型
     *
     * @return 获取描述类型
     */
    public String getType() {
        return type;
    }

    /***
     * 设置描述类型
     *
     * @param type 描述类型
     */
    public void setType(String type) {
        this.type = type;
    }

    /***
     * 获取版本id
     *
     * @return 获取版本id
     */
    public BigInteger getVersionId() {
        return versionId;
    }

    /***
     * 设置版本id
     *
     * @param versionId 版本id
     */
    public void setVersionId(BigInteger versionId) {
        this.versionId = versionId;
    }

    /***
     * 获取版本描述
     *
     * @return 获取版本描述
     */
    public String getVersionDesc() {
        return versionDesc;
    }

    /***
     * 设置版本描述
     *
     * @param versionDesc 版本描述
     */
    public void setVersionDesc(String versionDesc) {
        this.versionDesc = versionDesc;
    }


    @Override
    public String toString() {
        return "VersionInfoEntity{" +
                "id=" + id +

                ",createTime=" + createTime +

                ",tType=" + type +

                ",versionId=" + versionId +

                ",versionDesc=" + versionDesc +

                ",commitTestId=" + commitTestId +
                '}';
    }

    //<!--用户自定义代码开始-->
    public IdGenerator idGenerator() {
        return new CruxDevOpsIdGenerator();
    }
    //<!--用户自定义代码结束-->
}
